@@ -1,4 +1,5 @@  | 
            ||
| 1 | 1 | 
                apply plugin: 'com.android.application'  | 
            
| 2 | 
                +apply plugin: 'android-apt'  | 
            |
| 2 | 3 | 
                 | 
            
| 3 | 4 | 
                 android {
               | 
            
| 4 | 5 | 
                compileSdkVersion 24  | 
            
                @@ -24,6 +25,10 @@ dependencies {
               | 
            ||
| 24 | 25 | 
                compile 'com.android.support:appcompat-v7:24.0.0'  | 
            
| 25 | 26 | 
                compile 'com.android.support:recyclerview-v7:24.0.0'  | 
            
| 26 | 27 | 
                compile 'com.android.support:design:24.0.0'  | 
            
| 28 | 
                +  | 
            |
| 29 | 
                + compile 'com.jakewharton:butterknife:8.2.1'  | 
            |
| 30 | 
                + apt 'com.jakewharton:butterknife-compiler:8.2.1'  | 
            |
| 31 | 
                +  | 
            |
| 27 | 32 | 
                compile project(path: ':common')  | 
            
| 28 | 33 | 
                compile project(path: ':common')  | 
            
| 29 | 34 | 
                     compile files('libs/zxing.jar')
               | 
            
                @@ -12,6 +12,8 @@ import com.android.common.utils.DeviceUtils;  | 
            ||
| 12 | 12 | 
                import java.util.ArrayList;  | 
            
| 13 | 13 | 
                 | 
            
| 14 | 14 | 
                import ai.pai.lensman.R;  | 
            
| 15 | 
                +import butterknife.BindView;  | 
            |
| 16 | 
                +import butterknife.ButterKnife;  | 
            |
| 15 | 17 | 
                 | 
            
| 16 | 18 | 
                 public class PhotoRecyclerAdapter extends RecyclerView.Adapter<PhotoRecyclerAdapter.MyViewHolder> {
               | 
            
| 17 | 19 | 
                 | 
            
                @@ -55,10 +57,7 @@ public class PhotoRecyclerAdapter extends RecyclerView.Adapter<PhotoRecyclerAdap  | 
            ||
| 55 | 57 | 
                 | 
            
| 56 | 58 | 
                @Override  | 
            
| 57 | 59 | 
                     public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
               | 
            
| 58 | 
                - View view = mInflater.inflate(R.layout.photo_item,parent,false);  | 
            |
| 59 | 
                - MyViewHolder viewHolder = new MyViewHolder(view);  | 
            |
| 60 | 
                - viewHolder.photo = (ImageView) view.findViewById(R.id.iv_session_photo_item);  | 
            |
| 61 | 
                - return viewHolder;  | 
            |
| 60 | 
                + return new MyViewHolder(mInflater.inflate(R.layout.photo_item,parent,false));  | 
            |
| 62 | 61 | 
                }  | 
            
| 63 | 62 | 
                 | 
            
| 64 | 63 | 
                @Override  | 
            
                @@ -91,10 +90,11 @@ public class PhotoRecyclerAdapter extends RecyclerView.Adapter<PhotoRecyclerAdap  | 
            ||
| 91 | 90 | 
                 | 
            
| 92 | 91 | 
                     class MyViewHolder extends RecyclerView.ViewHolder{
               | 
            
| 93 | 92 | 
                 | 
            
| 94 | 
                - private ImageView photo;  | 
            |
| 93 | 
                + @BindView(R.id.iv_session_photo_item) ImageView photo;  | 
            |
| 95 | 94 | 
                 | 
            
| 96 | 95 | 
                         public MyViewHolder(View view){
               | 
            
| 97 | 96 | 
                super(view);  | 
            
| 97 | 
                + ButterKnife.bind(this,view);  | 
            |
| 98 | 98 | 
                }  | 
            
| 99 | 99 | 
                }  | 
            
| 100 | 100 | 
                }  | 
            
                @@ -5,21 +5,19 @@ import android.support.v7.app.AppCompatActivity;  | 
            ||
| 5 | 5 | 
                import android.support.v7.widget.LinearLayoutManager;  | 
            
| 6 | 6 | 
                import android.support.v7.widget.RecyclerView;  | 
            
| 7 | 7 | 
                import android.view.View;  | 
            
| 8 | 
                -import android.widget.ImageButton;  | 
            |
| 9 | 
                -import android.widget.ImageView;  | 
            |
| 10 | 8 | 
                import android.widget.TextView;  | 
            
| 11 | 9 | 
                 | 
            
| 12 | 10 | 
                import ai.pai.lensman.R;  | 
            
| 13 | 11 | 
                import ai.pai.lensman.upload.SessionBean;  | 
            
| 12 | 
                +import butterknife.BindView;  | 
            |
| 13 | 
                +import butterknife.ButterKnife;  | 
            |
| 14 | 
                +import butterknife.OnClick;  | 
            |
| 14 | 15 | 
                 | 
            
| 15 | 
                -public class SessionActivity extends AppCompatActivity implements SessionContract.SessionView,View.OnClickListener {
               | 
            |
| 16 | 
                +public class SessionActivity extends AppCompatActivity implements SessionContract.SessionView {
               | 
            |
| 16 | 17 | 
                 | 
            
| 17 | 
                - private View noPhotoLayout;  | 
            |
| 18 | 
                - private RecyclerView photosRecyclerView;  | 
            |
| 19 | 
                - private TextView titleTextView;  | 
            |
| 20 | 
                - private ImageView scanImageView;  | 
            |
| 21 | 
                - private ImageView qrcodeImageView;  | 
            |
| 22 | 
                - private ImageButton sessionCompleteBtn;  | 
            |
| 18 | 
                + @BindView(R.id.icon_no_data) View noPhotoLayout;  | 
            |
| 19 | 
                + @BindView(R.id.title_bar_middle_txt) TextView titleTextView;  | 
            |
| 20 | 
                + @BindView(R.id.recycler_view_photos) RecyclerView photosRecyclerView;  | 
            |
| 23 | 21 | 
                private PhotoRecyclerAdapter adapter;  | 
            
| 24 | 22 | 
                 | 
            
| 25 | 23 | 
                private SessionContract.SessionPresenter presenter;  | 
            
                @@ -28,26 +26,15 @@ public class SessionActivity extends AppCompatActivity implements SessionContrac  | 
            ||
| 28 | 26 | 
                     protected void onCreate(Bundle savedInstanceState) {
               | 
            
| 29 | 27 | 
                super.onCreate(savedInstanceState);  | 
            
| 30 | 28 | 
                setContentView(R.layout.activity_session);  | 
            
| 31 | 
                -  | 
            |
| 29 | 
                + ButterKnife.bind(this);  | 
            |
| 32 | 30 | 
                presenter = new SessionPresenterImpl(this,this);  | 
            
| 33 | 31 | 
                 | 
            
| 34 | 32 | 
                         SessionBean sessionBean =(SessionBean)getIntent().getSerializableExtra("session");
               | 
            
| 35 | 
                - titleTextView = (TextView)findViewById(R.id.title_bar_middle_txt);  | 
            |
| 36 | 33 | 
                titleTextView.setText(getString(R.string.scene)+sessionBean.sessionSeq);  | 
            
| 37 | 
                - noPhotoLayout = findViewById(R.id.icon_no_data);  | 
            |
| 38 | 
                - photosRecyclerView = (RecyclerView)findViewById(R.id.recycler_view_photos);  | 
            |
| 39 | 34 | 
                adapter = new PhotoRecyclerAdapter(this);  | 
            
| 40 | 35 | 
                RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);  | 
            
| 41 | 36 | 
                photosRecyclerView.setLayoutManager(layoutManager);  | 
            
| 42 | 37 | 
                photosRecyclerView.setAdapter(adapter);  | 
            
| 43 | 
                - scanImageView = (ImageView)findViewById(R.id.iv_scan);  | 
            |
| 44 | 
                - qrcodeImageView = (ImageView)findViewById(R.id.iv_qrcode);  | 
            |
| 45 | 
                - sessionCompleteBtn = (ImageButton)findViewById(R.id.btn_session_complete);  | 
            |
| 46 | 
                -  | 
            |
| 47 | 
                - scanImageView.setOnClickListener(this);  | 
            |
| 48 | 
                - qrcodeImageView.setOnClickListener(this);  | 
            |
| 49 | 
                - sessionCompleteBtn.setOnClickListener(this);  | 
            |
| 50 | 
                - findViewById(R.id.title_bar_back_layout).setOnClickListener(this);  | 
            |
| 51 | 38 | 
                }  | 
            
| 52 | 39 | 
                 | 
            
| 53 | 40 | 
                @Override  | 
            
                @@ -62,23 +49,24 @@ public class SessionActivity extends AppCompatActivity implements SessionContrac  | 
            ||
| 62 | 49 | 
                presenter.stop();  | 
            
| 63 | 50 | 
                }  | 
            
| 64 | 51 | 
                 | 
            
| 65 | 
                - @Override  | 
            |
| 66 | 
                -    public void onClick(View view) {
               | 
            |
| 67 | 
                -  | 
            |
| 68 | 
                -        switch (view.getId()){
               | 
            |
| 69 | 
                - case R.id.title_bar_back_layout:  | 
            |
| 70 | 
                - finish();  | 
            |
| 71 | 
                - break;  | 
            |
| 72 | 
                - case R.id.iv_qrcode:  | 
            |
| 73 | 
                - presenter.showQRCodeForSession();  | 
            |
| 74 | 
                - break;  | 
            |
| 75 | 
                - case R.id.iv_scan:  | 
            |
| 76 | 
                - presenter.scanToFetchSessionQR();  | 
            |
| 77 | 
                - break;  | 
            |
| 78 | 
                - case R.id.btn_session_complete:  | 
            |
| 79 | 
                - presenter.onSessionComplete();  | 
            |
| 80 | 
                - break;  | 
            |
| 81 | 
                - }  | 
            |
| 52 | 
                + @OnClick(R.id.iv_scan)  | 
            |
| 53 | 
                +    void scanToFetchSessionQR(){
               | 
            |
| 54 | 
                +  | 
            |
| 55 | 
                + }  | 
            |
| 56 | 
                +  | 
            |
| 57 | 
                + @OnClick(R.id.iv_qrcode)  | 
            |
| 58 | 
                +    void showQRCodeForSession(){
               | 
            |
| 59 | 
                +  | 
            |
| 60 | 
                + }  | 
            |
| 61 | 
                +  | 
            |
| 62 | 
                + @OnClick(R.id.title_bar_back_layout)  | 
            |
| 63 | 
                +    void backToMain(){
               | 
            |
| 64 | 
                + finish();  | 
            |
| 65 | 
                + }  | 
            |
| 66 | 
                +  | 
            |
| 67 | 
                + @OnClick(R.id.btn_session_complete)  | 
            |
| 68 | 
                +    void onSessionComplete(){
               | 
            |
| 69 | 
                +  | 
            |
| 82 | 70 | 
                }  | 
            
| 83 | 71 | 
                 | 
            
| 84 | 72 | 
                @Override  | 
            
                @@ -13,9 +13,6 @@ public class SessionContract {
               | 
            ||
| 13 | 13 | 
                 | 
            
| 14 | 14 | 
                     interface SessionPresenter{
               | 
            
| 15 | 15 | 
                void start();  | 
            
| 16 | 
                - void onSessionComplete();  | 
            |
| 17 | 
                - void scanToFetchSessionQR();  | 
            |
| 18 | 
                - void showQRCodeForSession();  | 
            |
| 19 | 16 | 
                void stop();  | 
            
| 20 | 17 | 
                }  | 
            
| 21 | 18 | 
                }  | 
            
                @@ -29,22 +29,6 @@ public class SessionPresenterImpl implements SessionContract.SessionPresenter ,S  | 
            ||
| 29 | 29 | 
                }  | 
            
| 30 | 30 | 
                 | 
            
| 31 | 31 | 
                @Override  | 
            
| 32 | 
                -    public void onSessionComplete() {
               | 
            |
| 33 | 
                - context.finish();  | 
            |
| 34 | 
                -  | 
            |
| 35 | 
                - }  | 
            |
| 36 | 
                -  | 
            |
| 37 | 
                - @Override  | 
            |
| 38 | 
                -    public void scanToFetchSessionQR() {
               | 
            |
| 39 | 
                -  | 
            |
| 40 | 
                - }  | 
            |
| 41 | 
                -  | 
            |
| 42 | 
                - @Override  | 
            |
| 43 | 
                -    public void showQRCodeForSession() {
               | 
            |
| 44 | 
                -  | 
            |
| 45 | 
                - }  | 
            |
| 46 | 
                -  | 
            |
| 47 | 
                - @Override  | 
            |
| 48 | 32 | 
                     public void stop() {
               | 
            
| 49 | 33 | 
                interactor.stopCapture();  | 
            
| 50 | 34 | 
                }  | 
            
                @@ -13,6 +13,8 @@ import com.android.common.utils.DeviceUtils;  | 
            ||
| 13 | 13 | 
                import java.util.ArrayList;  | 
            
| 14 | 14 | 
                 | 
            
| 15 | 15 | 
                import ai.pai.lensman.R;  | 
            
| 16 | 
                +import butterknife.BindView;  | 
            |
| 17 | 
                +import butterknife.ButterKnife;  | 
            |
| 16 | 18 | 
                 | 
            
| 17 | 19 | 
                 public class SessionRecyclerAdapter extends RecyclerView.Adapter<SessionRecyclerAdapter.MyViewHolder> {
               | 
            
| 18 | 20 | 
                 | 
            
                @@ -65,11 +67,7 @@ public class SessionRecyclerAdapter extends RecyclerView.Adapter<SessionRecycler  | 
            ||
| 65 | 67 | 
                 | 
            
| 66 | 68 | 
                @Override  | 
            
| 67 | 69 | 
                     public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
               | 
            
| 68 | 
                - View view = mInflater.inflate(R.layout.session_item,parent,false);  | 
            |
| 69 | 
                - MyViewHolder viewHolder = new MyViewHolder(view);  | 
            |
| 70 | 
                - viewHolder.photo = (ImageView) view.findViewById(R.id.iv_session_item);  | 
            |
| 71 | 
                - viewHolder.sesseionSeq = (TextView)view.findViewById(R.id.tv_session_seq);  | 
            |
| 72 | 
                - return viewHolder;  | 
            |
| 70 | 
                + return new MyViewHolder(mInflater.inflate(R.layout.session_item,parent,false));  | 
            |
| 73 | 71 | 
                }  | 
            
| 74 | 72 | 
                 | 
            
| 75 | 73 | 
                @Override  | 
            
                @@ -103,12 +101,13 @@ public class SessionRecyclerAdapter extends RecyclerView.Adapter<SessionRecycler  | 
            ||
| 103 | 101 | 
                 | 
            
| 104 | 102 | 
                     class MyViewHolder extends RecyclerView.ViewHolder{
               | 
            
| 105 | 103 | 
                 | 
            
| 106 | 
                - private ImageView photo;  | 
            |
| 104 | 
                + @BindView(R.id.iv_session_item) ImageView photo;  | 
            |
| 107 | 105 | 
                 | 
            
| 108 | 
                - private TextView sesseionSeq;  | 
            |
| 106 | 
                + @BindView(R.id.tv_session_seq) TextView sesseionSeq;  | 
            |
| 109 | 107 | 
                 | 
            
| 110 | 108 | 
                         public MyViewHolder(View view){
               | 
            
| 111 | 109 | 
                super(view);  | 
            
| 110 | 
                + ButterKnife.bind(this, view);  | 
            |
| 112 | 111 | 
                }  | 
            
| 113 | 112 | 
                }  | 
            
| 114 | 113 | 
                }  | 
            
                @@ -12,51 +12,30 @@ import android.widget.TextView;  | 
            ||
| 12 | 12 | 
                import java.util.ArrayList;  | 
            
| 13 | 13 | 
                 | 
            
| 14 | 14 | 
                import ai.pai.lensman.R;  | 
            
| 15 | 
                +import butterknife.BindView;  | 
            |
| 16 | 
                +import butterknife.ButterKnife;  | 
            |
| 17 | 
                +import butterknife.OnClick;  | 
            |
| 15 | 18 | 
                 | 
            
| 16 | 19 | 
                 public class UploadActivity extends AppCompatActivity implements UploadContract.UploadView{
               | 
            
| 17 | 20 | 
                 | 
            
| 18 | 
                - private TextView btStatusTextView;  | 
            |
| 19 | 
                - private ImageView btStatusImageView;  | 
            |
| 20 | 
                - private View noDataLayout;  | 
            |
| 21 | 
                + @BindView(R.id.tv_bt_status) TextView btStatusTextView;  | 
            |
| 22 | 
                + @BindView(R.id.iv_bt_status) ImageView btStatusImageView;  | 
            |
| 23 | 
                + @BindView(R.id.icon_no_data) View noDataLayout;  | 
            |
| 24 | 
                + @BindView(R.id.recycler_view_sessions) RecyclerView sessionsRecyclerView;  | 
            |
| 21 | 25 | 
                private SessionRecyclerAdapter adapter;  | 
            
| 22 | 
                - private RecyclerView sessionsRecyclerView;  | 
            |
| 23 | 26 | 
                private UploadContract.UploadPresenter presenter;  | 
            
| 24 | 27 | 
                 | 
            
| 25 | 28 | 
                @Override  | 
            
| 26 | 29 | 
                     protected void onCreate(Bundle savedInstanceState) {
               | 
            
| 27 | 30 | 
                super.onCreate(savedInstanceState);  | 
            
| 28 | 31 | 
                setContentView(R.layout.activity_upload);  | 
            
| 32 | 
                + ButterKnife.bind(this);  | 
            |
| 29 | 33 | 
                 | 
            
| 30 | 34 | 
                presenter = new UploadPresenterImpl(this,this);  | 
            
| 31 | 
                - noDataLayout = findViewById(R.id.icon_no_data);  | 
            |
| 32 | 
                - btStatusImageView = (ImageView)findViewById(R.id.iv_bt_status);  | 
            |
| 33 | 
                - btStatusTextView = (TextView)findViewById(R.id.tv_bt_status);  | 
            |
| 34 | 
                - sessionsRecyclerView = (RecyclerView)findViewById(R.id.recycler_view_sessions);  | 
            |
| 35 | 35 | 
                adapter = new SessionRecyclerAdapter(this);  | 
            
| 36 | 36 | 
                RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this,2,LinearLayoutManager.VERTICAL,false);  | 
            
| 37 | 37 | 
                sessionsRecyclerView.setLayoutManager(layoutManager);  | 
            
| 38 | 38 | 
                sessionsRecyclerView.setAdapter(adapter);  | 
            
| 39 | 
                -        findViewById(R.id.iv_briefs).setOnClickListener(new View.OnClickListener(){
               | 
            |
| 40 | 
                - @Override  | 
            |
| 41 | 
                -            public void onClick(View view) {
               | 
            |
| 42 | 
                - presenter.jumpToBriefs();  | 
            |
| 43 | 
                - }  | 
            |
| 44 | 
                - });  | 
            |
| 45 | 
                -  | 
            |
| 46 | 
                -        findViewById(R.id.iv_add_session).setOnClickListener(new View.OnClickListener(){
               | 
            |
| 47 | 
                - @Override  | 
            |
| 48 | 
                -            public void onClick(View view) {
               | 
            |
| 49 | 
                - presenter.jumpToNewSession();  | 
            |
| 50 | 
                - }  | 
            |
| 51 | 
                - });  | 
            |
| 52 | 
                -  | 
            |
| 53 | 
                -        btStatusImageView.setOnClickListener(new View.OnClickListener(){
               | 
            |
| 54 | 
                - @Override  | 
            |
| 55 | 
                -            public void onClick(View view) {
               | 
            |
| 56 | 
                - presenter.checkBTStatus();  | 
            |
| 57 | 
                - }  | 
            |
| 58 | 
                - });  | 
            |
| 59 | 
                -  | 
            |
| 60 | 39 | 
                }  | 
            
| 61 | 40 | 
                 | 
            
| 62 | 41 | 
                @Override  | 
            
                @@ -71,6 +50,22 @@ public class UploadActivity extends AppCompatActivity implements UploadContract.  | 
            ||
| 71 | 50 | 
                presenter.stop();  | 
            
| 72 | 51 | 
                }  | 
            
| 73 | 52 | 
                 | 
            
| 53 | 
                + @OnClick(R.id.iv_briefs)  | 
            |
| 54 | 
                +    void jumpToBriefs(){
               | 
            |
| 55 | 
                +  | 
            |
| 56 | 
                + }  | 
            |
| 57 | 
                +  | 
            |
| 58 | 
                + @OnClick(R.id.iv_add_session)  | 
            |
| 59 | 
                +    void jumpToNewSession(){
               | 
            |
| 60 | 
                + presenter.jumpToNewSession();  | 
            |
| 61 | 
                + }  | 
            |
| 62 | 
                +  | 
            |
| 63 | 
                + @OnClick(R.id.iv_bt_status)  | 
            |
| 64 | 
                +    void checkBTStatus(){
               | 
            |
| 65 | 
                + presenter.checkBTStatus();  | 
            |
| 66 | 
                + }  | 
            |
| 67 | 
                +  | 
            |
| 68 | 
                +  | 
            |
| 74 | 69 | 
                @Override  | 
            
| 75 | 70 | 
                     public void addNewSessionView(SessionBean bean) {
               | 
            
| 76 | 71 | 
                 | 
            
                @@ -6,7 +6,7 @@ buildscript {
               | 
            ||
| 6 | 6 | 
                }  | 
            
| 7 | 7 | 
                     dependencies {
               | 
            
| 8 | 8 | 
                classpath 'com.android.tools.build:gradle:2.1.2'  | 
            
| 9 | 
                -  | 
            |
| 9 | 
                + classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'  | 
            |
| 10 | 10 | 
                // NOTE: Do not place your application dependencies here; they belong  | 
            
| 11 | 11 | 
                // in the individual module build.gradle files  | 
            
| 12 | 12 | 
                }  |